草庐IT

java - 常用的HTTP客户端和代理

全部标签

ruby-on-rails - 如何在 Rails 中为 Mechanize 设置自定义用户代理

我知道你有一组预定义的别名,你可以通过设置agent.user_agent_alias='LinuxMozilla'来使用,但是如果我想设置我自己的用户代理,因为我正在写一个网络爬虫并想要识别它,为了我索引的网站。就像Googlebot。似乎有一个user_agent方法,但我似乎找不到任何关于它的功能的文档。 最佳答案 您可以从别名设置用户代理a=Mechanize.newa.user_agent_alias='MacSafari'可用别名存储在AGENT_ALIASES常量中。pMechanize::AGENT_ALIASES否

ruby - 有没有办法为 heroku 上的 Ruby on Rails 应用程序设置简单的 http 身份验证?

我想使用简单的http身份验证在heroku上设置一个私有(private)登台服务器。这可能吗? 最佳答案 一种更简洁的方法是将几行Rack中间件放入您的暂存环境配置中,单独留下Controller逻辑:#config/environments/staging.rbMyApp::Application.configuredoconfig.middleware.insert_after(::Rack::Lock,"::Rack::Auth::Basic","Staging")do|u,p|[u,p]==['username','pa

ruby-on-rails - 在 Rails 中进行 Http 基本身份验证

大家好,我来自Grails,是Rails的新手。我希望在Rails中进行http基本身份验证。我在grails中有一个代码可以像这样进行基本身份验证:defauthString="${key}:".getBytes().encodeBase64().toString()defconn="http://something.net".toURL().openConnection()conn.setRequestProperty("Authorization","Basic${authString}")可以用Rails做同样的事情吗? 最佳答案

Ruby Net::HTTP - 遵循 301 重定向

我的用户提交url(到mixcloud.com上的mixes),我的应用使用它们来执行网络请求。好的url返回200状态代码:uri=URI.parse("http://www.mixcloud.com/ErolAlkan/hard-summer-mix/")request=Net::HTTP.get_response(uri)(#但是,如果您忘记了结尾的斜杠,那么我们的否则很好url将返回301:uri="http://www.mixcloud.com/ErolAlkan/hard-summer-mix"#404也会发生同样的事情:#badpathreturnsa404"http:/

ruby - 如何在 ruby​​ 中使用 Selenium WebDriver (selenium 2.0) 客户端设置一个选项

我正在尝试熟悉新的ruby​​selenium-webdriver,因为它看起来比以前版本的selenium和随附的ruby​​驱动程序更直观。另外,我很难让旧的selenium在Windows中与ruby​​1.9.1一起工作,所以我想我会寻找替代方案。到目前为止,我已经用我的脚本完成了这个:require"selenium-webdriver"driver=Selenium::WebDriver.for:firefoxdriver.get"https://example.com"element=driver.find_element(:name,'username')element

ruby-on-rails - 如何从 Ruby on Rails 应用程序返回正确的 HTTP 错误代码

我有RoR3.0网络应用程序,它充当OAuthAPI提供程序。现在,在API中,我想向API使用者返回正确的HTTP错误代码。我该怎么做?例子如下:defdestroy_oauth@item=Item.find(params[:id])if(!@item.nil?&&@item.user_id==current_user.id)@item.destroyrespond_todo|format|format.jsformat.xmlendelseraiseActionController::RoutingError.new('Forbidden')endend因此,如果出现错误,我会尝试

ruby-on-rails - ruby中的异步http请求

require'net/http'urls=[{'link'=>'http://www.google.com/'},{'link'=>'http://www.facebook.com/'},{'link'=>'http://www.yahoo.com/'}]urls.eachdo|u|u['content']=Net::HTTP.get(URI.parse(u['link']))endprinturls这将作为程序代码工作。我只想访问服务器,没有关于顺序的问题。我怎么能在ruby中做到这一点。一种选择是使用线程。这是一个使用线程的例子。require'net/http'urls=[{'

ruby-on-rails - Rails 应用程序:Solr 抛出 RSolr::Error::Http - 执行搜索时未找到 404

非常迷茫,因为我没有对我的搜索进行任何更改,该搜索一直有效,但不知何故我休息了。作为Rails的新手,错误输出没有给我足够的细节来进行调试。下面的相关代码-询问您是否还想查看其他内容。home.html.slim(带有搜索表单的摘录)=form_tagsearch_venues_path,method::get,id:'search'do|f|.search-fields.span16p=text_field_tag:q,'',placeholder:"Searchforcoffee,hotel,etc",class:'span7search-field'p=text_field_ta

ruby - bundle 失败 - 找不到 PostgreSQL 客户端库 (libpq)

这个问题在这里已经有了答案:Can'tfindthePostgreSQLclientlibrary(libpq)(23个回答)关闭7年前。我想我已经尝试了我能找到的关于这个问题的所有建议。仍然不适合我。当我尝试bundle...$bundle...Gem::Installer::ExtensionBuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforpg_config.

ruby - 如何在 OpenURI 中指定 "http request header"

我正在尝试使用Ruby的OpenURIgem调用URL,但是它需要我在其HTTP请求header中传递某些值。知道怎么做吗? 最佳答案 根据thedocumentation,您可以将httpheader的哈希值作为第二个参数传递给open:open("http://www.ruby-lang.org/en/","User-Agent"=>"Ruby/#{RUBY_VERSION}","From"=>"foo@bar.invalid","Referer"=>"http://www.ruby-lang.org/"){|f|#...}